package 集合.List_test;

import java.util.ArrayList;
import java.util.List;

class Product{
    private Integer Id;
    private String name;
    Product(Integer id,String name){
        this.Id=id;
        this.name=name;
    }

    public Integer getId() {
        return Id;
    }

    public String getName() {
        return name;
    }

    @Override
    public String toString() {
        return "Product{" +
                "Id=" + Id +
                ", name='" + name + '\'' +
                '}';
    }
}
public class ListTest {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        List<String> list = arrayList;
        list.add("星期一");
        list.add("星期二");
        list.add("星期三");
        ArrayList<Product> arrayList2 = new ArrayList<>();
        arrayList2.add(new Product(1, "西红柿"));
        arrayList2.add(new Product(2, "番茄"));
        System.out.println(list.toString());//可以正常打印普通的数据类型 -》[星期一, 星期二, 星期三]
        System.out.println(arrayList2.toString());//只能打印一个类信息（ 前提重写了toString() ），而无法直接获取类中属性 -》[Product{Id=1, name='西红柿'}, Product{Id=2, name='番茄'}]
        arrayList2.stream().forEach((product) -> {
            System.out.println(product.getId()+product.getName());//直接获取类中的属性 -》 1西红柿 2番茄
        });
    }

}
